<?php

namespace System\library\utility;

/**
 * <b>Class</b> :        Tools<br>
 * <b>Fonction</b> :     Methodes utilitaires pour la generation (string, int ...)
 * <br>
 * @version              1.0
 * @author               Dread <dreadlokeur@gmail.com>
 * @license              Licence publique générale GNU http://www.gnu.org/licenses/gpl.html
 * @copyright            Copyright 2011 - MidichloriansPHP and contributors
 * @package              System
 * @subpackage           library\utility
 *
 * TODO : améliorer les paramètres de generation, max, min etc ...
 */
class Generate {

    /**
     * Permet de generer un string
     *
     * @access public
     * @static
     * @param int $n nombre de caractères du string
     * @return int $key le string généré
     *
     * TODO compatibility with mbstring and encoding ?
     */
    public static function generateString($n) {
        $donne = array_merge(range('a', 'z'), range('A', 'Z'), range('0', '9'));
        $key = '';
        for ($to = 0; $to < $n; $to++) {
            $i = mt_rand(0, count($donne) - 1);
            $key .= $donne[$i];
        }
        return $key;
    }

    /**
     * Permet de generer un entier
     *
     * @access public
     * @static
     * @param void
     * @return int l'entier genéré
     */
    public static function generateInt() {
        return md5(uniqid(mt_rand(), true));
    }

}

?>
